package ace.module.account.core.impl.service.callback.auth.enums;

import ace.cmp.core.enums.BaseEnum;
import ace.module.account.api.model.auth.AuthenticationGrantType;
import ace.module.oauth2.server.api.enums.Oauth2RegisteredClientAuthConfigAuthenticationTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * template author: caspar
 * template created at: 2023-12-18
 * template description: for enum
 * generated at: 2024年2月4日 下午3:33:42
 * description: 账户个人资料 性别
 */
@AllArgsConstructor
@Getter
public enum AuthenticationTypeCallbackEnum implements BaseEnum<String> {
  UNKNOWN("unknown", AuthenticationGrantType.UNKNOWN, AuthenticationGrantType.UNKNOWN.getDesc()),
  WX_MINI_PHONE_AUTH(
      Oauth2RegisteredClientAuthConfigAuthenticationTypeEnum.WX_MINI_APP_PHONE_CODE.getCode(),
      AuthenticationGrantType.WX_MINI_PHONE_AUTH,
      AuthenticationGrantType.WX_MINI_PHONE_AUTH.getDesc()),
  WX_MINI_LOGIN_CODE(
      Oauth2RegisteredClientAuthConfigAuthenticationTypeEnum.WX_MINI_APP_LOGIN_CODE.getCode(),
      AuthenticationGrantType.WX_MINI_LOGIN_CODE,
      AuthenticationGrantType.WX_MINI_LOGIN_CODE.getDesc()),
  ALL_PASSPORT_PASSWORD(
      Oauth2RegisteredClientAuthConfigAuthenticationTypeEnum.USERNAME.getCode(),
      AuthenticationGrantType.ALL_PASSPORT_PASSWORD,
      AuthenticationGrantType.ALL_PASSPORT_PASSWORD.getDesc()),
  PHONE_NUMBER_CAPTCHA_SMS_AUTH(
      Oauth2RegisteredClientAuthConfigAuthenticationTypeEnum.PHONE_CODE.getCode(),
      AuthenticationGrantType.PHONE_NUMBER_CAPTCHA_SMS_AUTH,
      AuthenticationGrantType.PHONE_NUMBER_CAPTCHA_SMS_AUTH.getDesc()),
  TEST(
      "Test",
      AuthenticationGrantType.TEST,
      AuthenticationGrantType.TEST.getDesc()),
  ;
  private final String code;
  private final AuthenticationGrantType authenticationGrantType;
  private final String desc;
}
